﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DreamBuilder.Common;
using DreamBuilder.Core.AOP.Attribute;
using DreamBuilder.Core.Message;
using Microsoft.Web.UI.WebControls;
using DreamBuilder.UI.UserControls;
namespace Web.SystemConfig.Services
{

    public interface IAuth_User : IBusiness
    {
        int IsParentID();
        DataTable SelectRolesByUserID(string userID);
        [Transaction]
        ResultInfo SaveData(DataSet dsInfo, DreamBuilder.UI.UserControls.EPGridView gv_Role, string userID);
        DataTable SelectOrgRolesByUserID(string userID);
        DataTable GetUserInfo(string User_ID);
        DataTable CheckOrg(DataTable dataTable);
        void CreateTree(TreeView treeView);
        string GetOrgNameByNumber(string number);
        [Transaction]
        ResultInfo DeleteUser(string pkValue);
        [Transaction]
        ResultInfo MoveUpOrder(string pkValue);
        [Transaction]
        ResultInfo MoveDownOrder(string pkValue);
        int MaxOrgNum(string orgID);
        void MoveUserOrder(string userorder, string useridgrid);
        bool CheckLoginID(string loginid);
        bool CheckUserPrimary(string userCheckID);
        int MaxPositionNum();
        bool CheckPositionOrder(string userOrder);
        bool CheckPositionName(string positionName);
        bool OACheckLoginID(string OAloginid);
        int GetMinOrgNum(string orgID);
        bool CheckLoginStatus(string UserId);
        bool CheckUserStateExsist(string UserId);
        bool AddUserToUserState(string UserId, string RealID, string patform, string loginIp, string browers);
        bool UpdateUserState(string UserId, string RealID, string patform, string loginIp, string browers, bool onlineState);
        DataTable GetOnlineUser();
        int GetOnlineUserNumber();
        DataTable GetOrgUsers(string OrgID);
        DataTable GetAllUsers();
        void UpdateUserTransferDept(string userId, string orgId);
        void UpdateUserPersonalInfo(string userId, string userName, string mobile, string officePhone, string fax, string email, string postCode, string idNumber, string vpnNumber, string erpNumber, string insuranceNumber, string address);
        DataTable CheckOrgInfo(string userID);
        void ModifyUser(string tableName, string User, string userName, string Time, DateTime currentTime, string primarykey, string pkValue);
        void UpdateOrderNum(string tableName, string orderNum, string primarykey, string pkValue);
        DataTable GetAccBySFID(string tableName, string SFID);
        DataTable GetUploadFileInfo(string fileID);
        void UpdateUserRole();
        string GetUserNameById(string userId);
        List<Guid> GetUserDtByOrgIDAndRoleID(string orgid, string roleID);
        List<Guid> GetUserDtByQZHAndToRoleID(Guid userID, string roleID);
        List<Guid> GetUserListByQZHAndToRoleID(string qzh, string roleID);
        string GetQZHByUserID(string userID);
    }
}
